Tandem access controller within the public switched telephone network

ABSTRACT

In one embodiment, the system includes a processor, referred to herein as a tandem access controller (TAC), coupled to the PSTN, where the TAC allows a subscriber to set-up and make changes to the configuration of his or her phone line or other communications device. Such changes include selective call forwarding. In one embodiment, the TAC is controlled by the subscriber using the web. The TAC is coupled internally to the PSTN in a local service area and is outside the central office of the subscriber. A calling party makes a first call to the subscriber using the subscriber&#39;s public telephone number. The TAC receives the first call prior to the call reaching the subscriber&#39;s terminating central office, which in some cases avoids a toll. The TAC then carries out the subscriber&#39;s instructions for the first call, such as making one or more second calls using telephone numbers different from the subscriber&#39;s public telephone number. When the second call is answered, the answering phone is connected by the TAC to the caller.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 10/426,279, filed Apr. 30, 2003, entitled “Branch Calling and Caller ID Based Call Routing Telephone Features,” which is a continuation-in-part of U.S. application Ser. No. 09/565,565, now U.S. Pat. No. 6,574,328, filed May 4, 2000, entitled “Telephone Call Control System for the Public Switched Telephone Network,” both documents being incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates to telephone services and, in particular, to a system for allowing a subscriber to select features of the subscriber's telephone service and to various novel features that can be selected.

BACKGROUND

People have used various means for limiting interruptions due to the telephone. In the past, people used switchboards and secretaries to screen incoming, or inbound, calls. Voice mail systems took over some of this role both in the home and in the central office. Today, there are web-based companies managing 3rd-party call control, via the toll-switch network, which allow users to enter call control information through a web portal. There are also edge devices in each of the public telephone company's central offices which provide local control, but offer an extremely limited number of features and do not provide true 3rd-party call control.

The web-based toll systems provide good user interaction but they are not economical and cannot take advantage of local number portability because they do not provide local control and connectivity.

The Public Switched Telephone Network (PSTN) consists of a plurality of edge switches connected to telephones on one side and to a network of tandem switches on the other. The tandem switch network allows connectivity between all of the edge switches, and a signaling system is used by the PSTN to allow calling and to transmit both calling and called party identity.

Until now, optional features were provided by the local service telephone company (telco) through the edge switch at the central office (CO). It was not possible to provide optional features through any other means. Control of these features was done through the first party (calling party) or the second party (called party), or worse yet, manually by calling the business office.

In the past, numerous devices have been built that allow the connection of two lines together at an edge switch. These devices can be used to add features to a telephone network by receiving a call on one line and then dialing out on another line. The problem with these devices is that, because they are connected through an edge switch, transmission losses and impairments occur, degrading the overall connection. In addition, signalling limitations prevent full control, by the subscriber or the system, over the call.

A preferred embodiment of the inventive system described herein connects at the tandem, thereby eliminating these problems.

In the edge devices residing in the PSTN central offices, the 1st party (the calling party) has numerous features available (dialing options). The 2nd party (called party) also has options available such as call forwarding, but these features typically require access from the first or second party's device and are extremely awkward to program. The user interaction is not only awkward, it is limited and requires interaction with the telephone company to provision them. In other words, past systems for provisioning, meaning addition, modification, or control of telephone features, required a subscriber to make the feature selection through the telephone business office. Central office workers would then implement the provisioning under request of the business office.

Call Forwarding is one popular provision. There is signification transmission degradation for Call Forwarding to take place. The calling party pays for a call to the edge device, and the edge subscriber, the called party, pays for the call to the forwarding number. For enhanced inbound call control to occur, a direct 3rd-party call control means is needed.

A variety of services have arisen to address the problems mentioned above. Many of these systems allow the called party to make changes to his/her call forwarding attributes which do not allow direct 3rd-party call control. These services provide good user interaction, some via the internet, but they rely upon the toll network through the use of “800” numbers.

This requires the subscriber to pay by the minute and does not allow the subscriber to take advantage of number portability in order to obtain 3rd-party call control. There are other toll network mechanisms for remote call forwarding. For example, MCI offers a service where the customer can remotely change the forwarding target number for “800” numbers. Contacting the ultimate end-user before terminating the first incoming call is similar to the manner in which “800” credit calls and collect calls are processed, but these are not done at the local subscriber level.

In addition to these toll services, there are edge devices that perform some of the same services. Edge devices such as phones and PBXs that include voice mail, inter-active voice response, call forwarding, speed calling, etc., have been used to provide additional call control. These devices allow the phone user direct control over incoming and outgoing calls. The disadvantage of edge devices is that they add cost, degrade voice and transmission quality, can be difficult to program, are not easily programmed remotely, can require the user to pay for two lines, provide lower quality of service, and cannot provide the same level of functionality as a system that controls the PSTN directly. There are Voice Over Internet Protocol (VoiP) products emerging that provide better user interfaces and control but they do not take advantage and voice quality of the PSTN.

SUMMARY

A system for allowing a subscriber to remotely control features is described herein along with various telephone features that may be programmed into the system. A subscriber may be any customer using the telephone service, in contrast to employees of the PSTN who may use special communication networks within the PSTN.

The present invention adds direct control of third party call control features, but does not suffer from any of the disadvantages listed above, and allows the subscriber to manage his/her telephone system in a dynamic and exceptionally useful manner that is not currently available through the existing PSTN. The invention allows enhanced direct third-party call control features, such as selective call routing and remote dialing, to be added to the PSTN (Public Switched Telephone Network) using local call control and providing dynamic provisioning of the system by the subscriber. Direct 3rd-party control means that the ability to provision the 3rd-party features is directly available to a subscriber, eliminating the need to go through the telephone company (telco) business office.

In one embodiment, the system includes a processor, referred to herein as a tandem access controller (TAC), connected to the PSTN, where the TAC allows a subscriber to set-up and make immediate changes to the configuration of his or her phone line or other communications device. In one embodiment, the TAC subsystem is connected internally to the PSTN in a local service area and is outside the central office of the subscriber. A calling party makes a first call to the subscriber using the subscriber's public telephone number. The TAC receives the first call prior to the call reaching the subscriber's terminating central office, which in some cases avoids a toll. The TAC then carries out the subscriber's instructions for the first call, such as making one or more second calls using telephone numbers different from the subscriber's public telephone number. When the second call is answered, the answering phone is connected by the TAC to the caller.

The TAC provides features, selected by the subscriber, to all edge switches connected to the PSTN tandem switch. Connecting directly to the PSTN tandem switch (or embedding the system into the tandem switch) eliminates the signal degradation problems previously described.

In one embodiment, the system allows provisioning of features via the internet under direct control of the subscriber. Recently, several products have been introduced that provide a means of controlling features via the public internet. However, all these devices fall short in that they require the subscriber to obtain an “800” number or some other number that requires the subscriber to pay a toll charge each time a call is made. The present invention connects locally, so no toll charges are incurred.

The web-enhanced services in one embodiment of the invention coexist with and overlay the local phone service at the local level, thereby providing good economics and user interaction, single number access to multiple subscriber devices, connectivity without transmission impairments and true, direct 3rd-party call control.

The present invention relies upon use of local telephone facilities thereby eliminating all the extra charges associated with making toll calls. It also allows the user to take advantage of number portability and keep his/her existing public phone number.

Examples of two features that may be performed by the TAC are caller ID (CID) based call routing and branch calling. The system allows the subscriber to set up a feature where the CID signal is detected within the PSTN and automatically associated with stored information relating to the caller. The stored information may have been previously entered into a memory within the PSTN by the subscriber via the world wide web. The CID signal may be also used to route the call to one of more forwarding numbers or to take any other action, such as blocking the call. This feature also allows the subscriber to use the CID signal to display certain information even though the caller may have her CID blocked.

Another feature described herein is referred to as branch calling, which allows a call to be forwarded to multiple telephones simultaneously, where the first telephone answered terminates the calling of the other telephones (or any other end units).

The offered features are implemented by software programs run by the processing system.

The web-enhanced services in one embodiment of the invention coexist with and overlay the local phone service at the local level, thereby providing good economics and user interaction, single number access to multiple subscriber devices, connectivity without transmission impairments and true, direct 3rd-party call control.

The present system relies upon use of local telephone facilities thereby eliminating all the extra charges associated with making toll calls. It also allows the user to take advantage of number portability and keep his/her existing public phone number.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates the tandem access controller (TAC) in one embodiment of the present invention connected to the existing PSTN tandem switch, the TAC providing features for the subscriber's telephone as requested by the subscriber via the web.

FIG. 2 illustrates a system similar to FIG. 1 but showing multiple tandem switches and TACs and also showing how the subscriber may, in additional to using the standard telephone, make phone calls using Voice Over IP via a conventional digital telephone.

FIG. 3 is a flowchart of one method that a person may use to set up a subscriber account and to designate features the subscriber would like for his/her telephone.

FIG. 4 is a flowchart of a method that can be performed by the TAC in response to the subscriber (or other service) controlling the TAC, using the web (or other packet-based system), to change the subscriber's telephone provisioning or perform another function, such as make a VoIP call.

FIG. 5 is a flowchart of a method that can be performed by the TAC in response to an inbound call to the subscriber.

FIG. 6 is a flowchart of a method performed by the subscriber and the TAC when the subscriber desires to make an outbound call via the web or using a conventional telephone.

FIG. 7 illustrates a system, using the TAC, that allows wireless cell phones to obtain the same provisioning options as the conventional telephones.

FIG. 8 illustrates a system, using the TAC, that allows fax and modem calls to benefit from the provisioning offered by the TAC.

FIG. 9 is a flowchart of possible scenarios using the caller ID based feature.

FIG. 10 is a flowchart of possible scenarios using the branch calling feature.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1 shows a tandem access controller (TAC) 10 that allows an authorized subscriber 12 to establish 3rd-party control criteria for calls to the subscriber's telephone 14 (having a “public” phone number that callers dial). In one embodiment, the TAC 10 is a programmed processor. The TAC 10 may use any combination of hardware, firmware, or software and, in one embodiment, is a conventional computer programmed to carry out the functions described herein.

The TAC 10 is connected to or inside the conventional PSTN tandem switch 16 such that calls may flow through the TAC 10 in the same manner as the existing PSTN tandem switch, except that additional 3rd-party features are applied to the call. As is well known, PSTN tandem switches are exchanges that direct telephone calls (or other traffic) to central offices 17, 18 or to other tandem switches. Details of the operation of the existing phone network may be found in the publication entitled “New Net SS7 Tutorial,” by ADC Telecommunications, copyright 1999, incorporated herein by reference. Additional details may be found in the numerous books describing the PSTN.

The PSTN tandem switch 16 directs a first call (from the calling party 20 to the subscriber's phone 14 using the subscriber's public phone number) to the TAC 10, which in turn places a second call, subject to 3rd-party control information, to the subscriber's “private” phone number without yet terminating the first call. The TAC 10 is connected within the subscriber's local service area so calls from TAC 10 to the subscriber do not incur a toll. When the subscriber 12 terminates (or answers) the second call, the TAC 10 terminates the first call and connects it to the second call, thereby connecting the calling party 20 to the subscriber 12. Hence, the calling party essentially calls the TAC 10, using the subscriber's public phone number, and the TAC 10, after processing the call using the selected features, calls the subscriber, as appropriate, using the subscriber's private phone number and connects the two calls. The process is transparent to the parties.

The TAC 10 is connected inside the PSTN in the sense that it is not an edge device such as a PBX or central office (CO) switch because it does not connect directly to subscribers. Rather, it redirects calls to subscribers. The TAC 10 provides intelligent interconnection between a calling party and a subscriber.

The reader should keep in mind that although only one tandem switch 16 is shown in FIG. 1, the invention will apply equally well to a network of tandem switches, as shown in FIG. 2. FIG. 2 also illustrates how the subscriber can make calls using voice over IP via a conventional digital telephone 21.

FIG. 1 illustrates the preferred method for an authorized subscriber to modify the 3rd-party control criteria by means of the world wide web 22 (and web server 23) using an internet browser. By “authorized” we mean a subscriber who is registered and has logged-in with appropriate security and password controls. The subscriber 12 interacts with the web 22 via the Internet to quickly and easily specify the enhanced 3rd-party call control features. Web 22 then relays this information, in appropriate form, to the TAC 10. Preferably, the link to the TAC 10 uses a secure protocol. Examples of features that can be selected by the subscriber include: conditional call blocking, call forwarding, call altering, time of day conditions, day of week conditions, follow-me, caller recognition/password, caller ID, call screening/retrieval from voice mail, speed dialing, interactive voice response, and speech recognition. Any other feature could be added. These features can be implemented in the TAC 10 using known software techniques since such features are known. Message outgoing call control includes: click-to-dial calling and group calling/messaging.

The invention may also include ivr/vm/voverip.

FIG. 1 uses a public internet portal connected via a data link to the TAC 10 or other interface system. As a registered subscriber, a user logs onto the portal (FIG. 3) and is granted access, allowing the user to make additions or changes to features such as speed calling, call forwarding, selection of such descriptors as time of day, busy status, caller ID status, etc. A user-friendly web page leads the subscriber through the various procedures and available features. The selections made by the subscriber are translated into provisioning data and transmitted to the TAC 10. The TAC 10 in turn keeps track of incoming and outgoing calls based on this information.

The subscriber can also program a set of the call control features via a telephone link in the event a data link connection is unavailable.

FIG. 4 is a flowchart of actions that may be taken by the TAC 10 in response to the subscriber (or other service) controlling the TAC, using the web or other packet-based system, to change the subscriber's telephone provisioning or perform another function, such as make a VoIP call.

FIG. 5 is a flowchart of actions taken by the TAC 10 in response to an inbound call (using the subscriber's public phone number) to the subscriber. Examples of some of the actions taken by the TAC 10 are:

-   -   Receives SS7 data indicating an incoming call     -   Stores phone numbers downloaded from provisioning system     -   Charts identity of calling party     -   Checks time of day     -   Stores lists of numbers in groups used for processing incoming         calls     -   Places outgoing calls in response to incoming calls according to         information downloaded on the data link.

Incoming call data is received by the TAC 10 from the tandem switch 16. The TAC 10 processor checks calling and called numbers, class of service, time of day, number lists, etc. In some cases additional data is gathered from the calling party via a DSP (Digital Signal Processing) system and stored in the system memory. The DSP system is used to play call progress tones and voice announcements as required. Voice announcements can be played through the DSP system. In response to the call data, an outgoing call to the subscriber 12 may be placed back through the tandem switch 16 by TAC 10. The TAC 10 links the two calls and monitors the connection.

Information about the call may be collected by the TAC 10 and sent to the subscriber or a 3rd party for display. Such information may be the length of the call or information used to bill the subscriber for the use of the system. The provisioning system can also collect control information from a 3rd party and relay it back to the TAC 10, which will then affect the call accordingly.

FIG. 6 is a flowchart of actions taken by the subscriber 12 and the TAC 10 when the subscriber desires to make an outbound call via the web or using a conventional telephone. When using the web to place a call, the subscriber may simply click a name on the computer screen 26 using a mouse.

FIG. 7 illustrates a system, using the TAC 10, that allows wireless cell phones 28 to obtain the same provisioning options as the conventional telephones 14. A local cell 30 and a cell switch 32 are also shown in FIG. 7.

FIG. 8 illustrates a system, using the TAC 10, that allows fax and modem calls to benefit from the provisioning offered by the TAC 10. The TAC 10 may interface the ISP 36 through the web 22.

One embodiment of the invention allows a subscriber to view the current state of his/her telephone via the Internet. Internet is a term of art by which we mean an interconnection of packet switched networks. Prior to this system there was no way for a user to examine the status of a telephone line. Recently, several products have been introduced that provide a means of examining the voice message boxes.

An internet portal is connected via a data link to the TAC 10. When a user logs onto the internet portal and is granted access to an individual subscription, the user can examine the status of calls/features. This information is transmitted from the TAC 10 to the web portal and translated into user viewables. The TAC 10 keeps track of incoming and outgoing calls based on this information.

The TAC 10 may be implemented using conventional processor hardware. The connection to the tandem switch 16 may be as simple as a telephone circuit, since the TAC 10 receives an incoming call from a caller and processes the call. Devising the software/firmware use to control the TAC 10 is well within the capability of those skilled in the art since the various control features that can be made available are generally already known.

Certain advantages that can be obtained using the invention include the following:

Web-Based Telecom Navigator

Manage Incoming Call Control

-   -   Conditional Call Blocking/Forwarding/Alerting     -   Time-of-Day, Day-of-Week, Follow-Me, Caller         Recognition/Password, Caller ID, etc.     -   Call Screening/Retrieval from Voice Mail     -   Interactive Voice Response and Speech Recognition

Manage Outgoing Call Control

-   -   Click-to-Dial Calling     -   Group Calling and Messaging

Web-Based Billing

Web-Driven Personal Communications Management

Cost-Effective Single Phone Number Access

On-Line “Personal Digital Assistant”

On-Line “Telcom Navigator”

Inspired User Interaction

Secure and Reliable Technology

Cost-Effective Single Phone Number Access

CLEC Status

-   -   Free Local Calls, Incoming Calls (not 800 Toll Service)     -   Retain Current Number (Local Number Portability)     -   Low-Cost Calling Throughout LATA     -   Flat-Rate Foreign Exchange     -   Single Installation Covers Entire LATA     -   VoIP Toll-Bypass

Compatible With Existing Devices, Standards

-   -   Standard DTMF and VoIP Phones     -   Wireless Phones     -   Standard Wired/Wireless and PIM Browsers

Web-Based Personal Digital Assistant

Centralized and Consistent Personal Data

-   -   Build Once, Use Anywhere     -   Private/Public Phone Directories and Calendars     -   “Post-It” Style Annotation of Numbers

Web Dialing

-   -   Click-to-Dial from Web Pages, Directories, Calendars     -   Multiple Phone List Management

Unified Messaging

-   -   Voice Mail Access, Prompts, Alert Via Web

User Interaction

Expected Behavior

-   -   Compatible with Familiar Products (e.g. Palm Pilot)     -   Commonality Between All Wired and Wireless

Mode-Based Definition and Selection

-   -   Vacation, Dinner Time, Go Away, Family Call Waiting     -   Templates

Learning Modes

-   -   Persona-Based User Interaction Design     -   Speech recognition     -   Windows drag and drop

Automatic Data Capture

-   -   Build Phone List Based on Collected Usage Information     -   Drag and Drop Into Lists

Secure and Reliable Technology

Separate Web-Site and Link Gateway

-   -   No Direct External Access to Gateway     -   Additional Security Layer     -   No Denial-of-Service to Voice Links

VoIP Link Degradation Detection

-   -   Automatic Cutover to PSTN

E-Commerce Security

-   -   Billing Encryption         Caller ID Based Call Routing

One advantage of using TAC 10 is its ability to enhance caller ID information. Caller ID is a common feature where a calling party's telephone number is transmitted to the called party's telephone so it can be displayed on a small display screen in the telephone. This caller ID information is provided by the calling party's central office switch. Signaling System No. 7 (SS7) is a global standard for telecommunications and defines the procedures and protocol by which network elements in the PSTN exchange information (including the caller ID) over the telephone network for call set up, routing, and control. In some telephone sets, including wireless telephones, the name of the caller associated with the telephone number is also displayed on the called party's display screen.

TAC 10 can use this automatically generated caller ID signal to provide an enhanced set of caller ID related features. One such feature is the association of the standard caller ID information with additional information about the caller stored in a memory addressed by TAC 10. The enhanced caller ID information provided through TAC 10 provides a valuable tool to the subscriber in handling incoming calls. The basic caller ID information, such as the caller's telephone number and name, can still be sent to the subscriber's phone and displayed in a conventional manner while the enhanced caller ID information may be displayed on the phone display or on the subscriber's computer monitor via the web.

The caller ID signals, pursuant to the SS7 protocol, are detected by TAC 10 when a calling party calls the subscriber using the subscriber's public telephone number, as previously described. TAC 10 then uses the basic caller ID data to address a look-up table (LUT) containing any additional information that the subscriber has entered into the LUT's memory locations for association with that caller ID data. FIG. 8 shows such a LUT 40 within or connected to TAC 10.

In one example, the subscriber may identify a prospective calling party's telephone number to TAC 10 via the Internet and then associate the number with any other information for storing in LUT 40. Such other information may be all the possible callers using the calling telephone, personal information regarding the calling party, billing information, business information, account numbers, past discussions with the caller, or any other information. When TAC 10 detects the caller ID signals, TAC 10 addresses LUT 40 and downloads the retrieved information to the subscriber's telephone display or to the subscriber's computer via the web. Since TAC 10 (including LUT 40) stores this additional information, the subscriber is not required to personally provide processing or memory devices for this feature.

Multiple subscribers use the same TAC 10 and LUT 40 but only the memory locations in LUT 40 authorized for access by a particular subscriber are available to that subscriber.

A subscriber may program TAC 10 using the various means described previously to perform any number of features on an incoming telephone call based upon the caller ID data. Such features include forwarding a call associated with that particular caller ID data to one or more other telephones, or blocking calls associated with that particular caller ID data. Such calls may be forwarded or blocked only at certain times or on certain days as requested by the subscriber. All of the other features previously described may also be applied based upon the caller ID.

When the calling party elects to block her caller ID information, displaying the caller's number and name on the subscriber's telephone may violate the privacy act, so such a restriction should be programmed into the system. However, TAC 10 may still use the caller ID information for various legal purposes. For example, the subscriber may not wish to receive phone calls from a particular phone number or calling party. The subscriber may transmit to TAC 10 the caller ID information (e.g., the telephone number and/or the name) and instruct TAC 10 to either forward the call, block the call, or transmit any additional information from LUT 40 to the subscriber's phone display or computer monitor for screening the caller.

If caller ID information does not exist, such as where the local telephone company does not offer caller ID, TAC 10, when receiving the incoming call, can transmit an automatic message to the caller to enter identification information. TAC 10 then uses that information to address LUT 40 to identify any associated information in LUT 40 for transmission to the subscriber. TAC 10, in a recorded or simulated voice, can request the caller to enter her phone number via the telephone keypad. Alternatively, TAC can request that the caller speak her name or number, which would then be played to the subscriber or converted to text or a code by TAC 10 to address LUT 40. Alternatively, the caller can enter a personal identification number or any other type of code (e.g., the caller's name) via the keypad, which would identify the caller to TAC 10. Once obtained, the caller ID information entered can be used to route the incoming call via TAC 10 in any way programmed by the subscriber. Call routing can be based on time of day, the caller ID, any web input instructions, a direction by the calling party itself, or any other variable.

This technique is contrasted with 800-type services, which are reverse long distance services requiring the owner of the 800 number to pay for the incoming call. With 800 numbers, the caller ID must be unblocked to identify the amount of the toll. With the inventive technique, even blocked caller ID calls can result in information about the caller being transmitted to the subscriber or used by TAC 10 to selectively perform a function.

FIG. 9 is a flowchart of various scenarios that may be carried out using the caller ID feature.

In step 50 of FIG. 9, an incoming call is received by TAC 10, as previously described, by a calling party calling the subscriber's public telephone number. In all embodiments described herein, the end unit called may be a residential telephone or other communication device connected to the PSTN via a central office, such as a computer, fax machine, or other communication device. The services provided by TAC 10 may be for residential telephone service or for business telephone service.

In step 52, using the SS7 protocol, TAC 10 detects the caller ID signal (CID), if any. Even if the calling party has a blocked CID, the CID is still transmitted to TAC 10; however the blocked caller ID cannot be displayed on the called party's telephone. If the CID is detected, the process continues to steps 54 and 56, which determine whether the CID is associated with any data in a look-up table. Existing data in the look-up table associated with the CID indicates that the caller is a previous caller. If caller ID information is known without ever previously receiving a call from that party, the additional information can still be entered into the look-up table, and the calling party will be treated as not a new caller in step 54.

Assuming the caller has information stored in the look-up table, this additional information is retrieved by TAC 10 and displayed on a web page (step 58) that is accessible by the subscriber via the web. In addition, the caller's name and telephone number may also by displayed (step 60). The information may also be transmitted to the subscriber's telephone for display.

In step 62, TAC 10 performs any programmed function on the call, such as forwarding the call to the subscriber's private telephone number or another number.

The placing of the second call by TAC 10 causes the called phone to ring (step 64) as well as causes the CID and additional information to be available to the subscriber (step 66) on the subscriber's telephone display. When the subscriber answers the phone, TAC 10 completes the connection between the two parties.

The retrieved information from LUT 40 that is transmitted over the web may appear as a screen pop-up on the subscriber's monitor. This CID information can then be reviewed and edited to include new information about the caller provided during the call. The subscriber then downloads this edited information to TAC 10 so future calls from the same caller would display the new information.

In step 54 if it is determined that the CID information is not associated with any existing information in the look-up table, TAC 10 determines whether the CID is blocked (identified in the SS7 protocol) in step 68. If the CID is not blocked, then the CID information is transmitted to the subscriber's telephone when TAC 10 places the call to the subscriber's private number (or any other forwarding number), and the CID is displayed on the subscriber's phone.

In step 68, if it is determined that the CID is blocked, TAC 10 will prompt the caller, via a recorded message or a simulated voice, to press the appropriate touch tone buttons to unblock the CID (step 70). For example, TAC 10 may be programmed to detect that a “1” key is pressed by the caller to unblock CID and then treat the CID information as unblocked. Alternatively, the caller may be required to call back after pressing the proper touch tone keys to unblock the CID in a conventional way.

In step 72, if the CID is now unblocked, the CID is obtained from the caller in step 74. The process also goes to step 74 if, in step 52, the CID is not initially obtained.

In step 76, TAC 10 determines whether the CID signal has been provided by the calling party from either the automatic CID signals or from the caller manually entering the caller's telephone number, name, or PIN, as previously described. If yes, then in step 54 TAC 10 uses the CID information to determine whether the caller is a new caller, and the remainder of the process continues as previously described.

In step 72, if it is determined that the CID remains blocked after TAC 10 has prompted the caller to unblock the CID, then in step 74 it is determined by TAC 10 is step 77 (after reviewing the subscriber's programmed instructions) whether the subscriber is accepting blocked calls. If yes, TAC 10 then places a call to the subscriber's private number or any other number identified by the subscriber, and puts the blocked call through. The blocked CID information would not be transmitted to the subscriber's phone.

If the subscriber's instructions are to not accept blocked calls, then in step 78 the blocked call is not forwarded to the subscriber's phone, or the blocked call is sent to voice mail. Voice mail may be a memory internal to TAC 10, or TAC 10 may transmit a special code to the subscriber's phone that automatically causes the call to be routed to a private voice mail system.

As seen, as long as the caller ID data received by TAC 10 has information associated with it in the look-up table, the stored information can be transmitted to the subscriber even if the caller ID is blocked. Further, even blocked caller IDs can still be used by TAC 10 to perform a routing function on the call. The caller ID feature may be implemented by a software program run by the processing system in TAC 10.

Because the conventional blocked CID information provided by the phone company is never displayed to the subscriber, the tagging system does not violate the privacy act. Known features such as call trace (where CID is provided to law enforcement people), or call return (where the blocked caller can be called back) have established a legal precedent that it is ok to use blocked CID information for certain purposes as long as the caller ID is not disclosed to the called party

Branch Calling

Branch calling is an enhanced telephone feature not believed to be provided on today's public telephone networks. This feature can be easily provided using TAC 10.

Branch calling is a technique where a caller places a first call intended for a called party to TAC 10. After receiving the call, TAC 10 looks up the call handling instructions programmed into TAC 10 by the subscriber via the web, via the telephone, or via any other technique. One set of these instructions is branch calling, which instructs TAC 10 to simultaneously call any number of different telephone numbers programmed into TAC 10 by the subscriber. The called phone numbers may be any combination of local, long distance, or cellular numbers.

When a party answers one of the ringing lines, the answering party is connected to the calling party, and the other calls are abandoned.

For branch calling to operate in the most desirable manner, the system must detect that a call has been answered in order to terminate the calls to the other telephones (or other end units). Accordingly, some form of answer supervision must be present. Answer supervision is implemented inside the PSTN but generally not available to private networks (e.g., PABXs). Since SS7 signaling supports answer supervision, it is easy for this branch calling feature to be provided through TAC 10 since TAC 10 is connected inside the PSTN.

Prior art systems without answer supervision must call each forwarding number sequentially, whereby after a certain number of preprogrammed rings, the calling stops and the next number is called until someone answers the phone. Because a ringing time-out must occur before the next call can be tried, an unrealistically long delay can occur before the call is placed to the proper telephone and finally answered. In contrast, the present invention allows TAC 10 to ring all the numbers simultaneously so the call can be answered quickly.

It is desirable that the answer supervision signaling not be delayed so that the calling and called parties may be connected quickly when the call is answered and so that during the delay time two parties do not answer two different ringing phones.

FIG. 10 is a flowchart of some scenarios in branch calling, whereby an incoming call to TAC 10 causes TAC 10 to place at least two new calls simultaneously and, when one of these phones is answered, the remaining calls are abandoned.

In step 80 of FIG. 10, TAC 10 receives an incoming call.

In step 82, TAC 10 looks up the routing instructions for the DNIS (Dialed Number Identification Service) and caller ID (if any). The DNIS identifies the number that was called, and the caller ID (CID) identifies the calling telephone number and sometimes the caller. DNIS works by transmitting the touch tone digits to TAC 10. A subscriber for TAC 10 may program TAC 10, as previously described, to perform any number of functions based upon the DNIS number, the CID, the time of day, or based upon any other factor. Such instructions may be stored in a look-up table addressed by the subscriber's public phone number (identified by the DNIS number). Since multiple subscribers will be using the same TAC 10, TAC 10 needs to know what number was dialed in order to perform the function on the call selected by the subscriber.

In step 86, TAC 10 identifies the features to apply to the incoming call. If the instructions are to block the call, then TAC 10 blocks the call in step 87. In the present example, it is assumed that the feature the subscriber wants to apply is a branch calling feature where two telephone numbers are to be called by TAC 10.

In step 88, TAC 10 generates a ring back tone to the caller to indicate that a telephone is ringing.

In step 90, TAC 10 places a call to a first telephone number, which causes the called phone to ring (step 92). Parallel operations are performed for a second phone number in steps 93 and 95.

In step 96, it is determined by TAC 10 whether the first phone has been answered using answer supervision signaling provided by SS7 (step 98).

In response to the answer supervision signaling, TAC 10 abandons the other call to the second telephone (step 100).

In step 102, TAC 10 completes the phone call by connecting the calling party to the answered telephone. This process may be applied to other than telephones, such as computers or other types of communication equipment.

In step 96, if the call is not answered after the ring, it is determined whether the other telephone has been answered (step 104). If not, the two phones continue to ring.

If it is determined in step 104 that another telephone has been answered (i.e., the answer supervision signal has been received by TAC 10), the call to the first telephone is abandoned (step 106).

The same operation is performed with respect to the second telephone call in steps 108-112.

Any number of telephone calls may be simultaneously placed by TAC 10 in response to a branch calling instruction.

In step 86, if the instructions programmed by the subscriber are to block the call, then TAC 10 blocks the call in step 116.

While particular embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that changes and modifications may be made without departing from this invention in its broader aspects and, therefore, the appended claims are to encompass within their scope all such changes and modifications that fall within the true spirit and scope of this invention. 

What is claimed is:
 1. A method for providing user control selections for routing of one or more communications between users of one or more communications networks, wherein the users either 1) initiate a communication, 2) receive a communication, or 3) control a communication, the user control selections provided by a user via access to a web server of a web-enabled processing system connected to operate at least in part with the one or more communication networks, wherein at least one of the communication networks is a network comprising edge switches for routing calls from and to users within a local geographic area and switching facilities for routing calls to other edge switches or other switching facilities local or in other geographic areas, the web server of web-enabled processing system facilitating direct access by a user for providing user control selections to the at least one of the switching facilities, the user having a communications device with which to communicate with the web server of the web-enabled processing system, the method comprising the steps of: facilitating access by authorized users to the web-enabled processing system, via the web server, the web-enabled processing system coupled to at least one of the switching facilities of the network, the web-enabled processing system configured to route a communication from a specific one of the users to an intended recipient of the users; executing control criteria, via the web-enabled processing system, to control the routing of the one or more communications via the web-enabled processing system, the control criteria predetermined by the users control selections via the web server before the control criteria are executed via the web-enabled processing system, wherein the web-enabled processing system is configured to perform the following operations to execute the control criteria: first, receive a message indicating a communication request from a user initiating a communication for an intended recipient user, wherein the message request is transmitted using a signalling protocol of the at least one communication network; second, validate and acknowledge said communications request without first forwarding said request to a terminating edge switch within the geographic area of the intended recipient of the users; third, determine the control criteria for access to the intended recipient of the users; fourth, facilitate selection of a routing path over the at least one communication network in accordance with the control criteria for the intended recipient user; fifth, route the communication in accordance with the control criteria, and sixth, complete a communications link between the user initiating the communication and the intended recipient of the users, when the intended recipient of the users accepts the communication from the user initiating the communication.
 2. The method of claim 1, wherein the user initiating the communication uses a first telephone number, and the web-enabled processing system for routing the communication in accordance with the control criteria routes the communication to a communications device designated by the intended recipient of the users, which is reached by using a second telephone number.
 3. The method of claim 1, wherein the communications device of the intended recipient of the users is a telephone, and wherein the intended recipient of the users by accepting the communication causes the web-enabled processing system to connect a communications device of the user initiating the communication to the telephone of the intended recipient of the users.
 4. The method of claim 1, wherein communications device of the intended recipient of the users is a telephone, and wherein the intended recipient of the user can designate control criteria on the web-enabled processing system to connect a communications device of the user initiating the communication to a device other than the telephone of the intended recipient of the users.
 5. The method of claim 1, wherein the communications device of the intended recipient of the users is a computer, and wherein upon accepting the communication, the web-enabled processing system connects a communications device of the user initiating a communication to the computer of the intended recipient of the users.
 6. The method of claim 1, wherein the communication is initiated by the user initiating the communication through an edge switch in the local geographic area of the user initiating the communication to the web-enabled processing system, and the communication is routed via a non-toll communication network by the web-enabled processing system through an edge switch to the communications device of the intended recipient of the users.
 7. The method of claim 1, wherein the control criteria execute any one of the following operations to implement features, including: a) selective call forwarding whereby a call request from an initiating communications device is forwarded to a particular communications device of an intended recipient of the users based on either a time of the communication or the user initiating the communication; and b) conditional blocking of the communication based on either a time of the communication or the user initiating the communication.
 8. The method of claim 1, wherein the web-enabled processing system receives the communication via the switching facility, which comprises a tandem switch in the network, which is a circuit-switched network.
 9. The method of claim 1, further comprising the step of: providing access to the web-enabled processing system, via the web server for certain of the users to obtain information regarding the one or more communications either received or initiated by certain of the users.
 10. The method of claim 9, wherein the information regarding the one or more communications either received or initiated by the users includes call detail recording.
 11. The method of claim 9, wherein the information regarding the one or more communications either received or initiated by the users includes web based billings.
 12. The method of claim 1, further comprising the steps of: providing access to the web-enabled processing system via the web server, for certain of the users to initiate a communication to a third party, the web-enabled processing system routing the communication to the third party; and establishing communication with the third party after the web-enabled processing system connects a user's communications device to a communications device of the third party.
 13. The method of claim 12, wherein said step of providing access to said web-enabled processing system via the web server comprises using the Internet to communicate a telephone number to said web-enabled processing system for placing a call to said third party.
 14. The method of claim 1, wherein the communication is a call.
 15. The method of claim 14 where routing of the first call comprises initiating a second call leg.
 16. The method of claim 1, wherein the communication is a message.
 17. The method of claim 1, wherein the control criteria includes facilitating a communications link to the user initiating a communication.
 18. The method of claim 1 where the web-enabled processing system has a distributed architecture located in multiple locations.
 19. The method of claim 1 where the web-enabled processing system has a distributed architecture incorporating multiple subsystems.
 20. A method of providing a user interaction system to enable users to control routing of one or more communications between a calling party and a called party through user input, the user interaction system comprising a web server coupled to a controller with access to at least two communication networks, wherein at least one of the networks is a packet network configured to support voice over IP (“VOIP”), and the second network is coupled to a switching facility of a network comprising edge switches for routing calls from and to users within a local geographic area and switching facilities for routing calls to other edge switches or other switching facilities local or in other geographic areas, comprising the steps of. providing a website for the users to view features associated with the routing of the one or more communications; facilitating certain of the users to sign up to become subscribers of the communication networks through the entry of user personal data through the website; granting access to authorized ones of the users; providing a menu of available features, via the website, for the users to make feature selections; processing of feature selections into control criteria; receiving and storing the control criteria in a database associated with the server, the controller, or both; receiving a communication request at the controller, from the calling party to an intended called party; upon receiving the communication request, utilizing the controller to retrieve at least a portion of the control criteria relating to the user to determine a possible route for the one or more communications from the calling party; and executing the control criteria to facilitate the routing of the one or more communications across at least one of the at least two networks.
 21. A method according to claim 20, wherein the one or more communications is a call between the calling party and the called party.
 22. The method of claim 21, wherein the routing of the call includes initiating a second call leg.
 23. A method according to claim 20, wherein the one or more communications is a message transmitted from the calling party for the called party.
 24. The method of claim 23 where a subsystem is used to complete the communications link between the user initiating the communication and the intended recipient of the users, when the intended recipient of the users accepts the communication from the user initiating the communication.
 25. A method according to claim 20, wherein the personal data entered by the users include a valid credit card number.
 26. A method according to claim 20, wherein personal data entered by the users is verified via the Internet.
 27. A method according to claim 20, wherein a user interaction includes the selection of a phone number.
 28. The method of claim 20, wherein the second network is a VOIP network.
 29. The method of claim 20, wherein the control criteria includes security measures.
 30. The method of claim 29, wherein the security measures include the prevention or denial of service attacks.
 31. The method of claim 29, wherein the security measures include call logging.
 32. The method of claim 29, wherein the security measures include web based billing.
 33. The method of claim 29, wherein the security measures include authentication of the calling party.
 34. The method of claim 29, wherein the security measures include conditional call blocking.
 35. The method of claim 20, wherein the switching facility performs a class 4 switching function.
 36. The method of claim 20, wherein switching facility is a tandem switch.
 37. The method of claim 20, wherein the switching facility employs a signaling transfer point (STP).
 38. The method of claim 20, wherein the controller is a tandem access controller (TAC).
 39. The method of claim 20, wherein the controller utilizes the VOIP architecture.
 40. The method of claim 20, wherein the controller utilizes a circuit switching architecture.
 41. The method of claim 20, wherein the controller utilizes an ATM switching architecture.
 42. The method of claim 20, wherein the controller comprises a distributed architecture spanning multiple locations. 